////////////////////////////////////////////////////////////////////////////////
// Filename: Model3DInstance.h
////////////////////////////////////////////////////////////////////////////////
#ifndef _TEXTURESMANAGER_H_
#define _TEXTURESMANAGER_H_

//////////////
// INCLUDES //
//////////////
#include "Texture.h"
#include <map>
#include <vector>
#include <string>

class TexturesManager
{
public:
	TexturesManager();
	TexturesManager(const TexturesManager&);
	~TexturesManager();

	static TexturesManager* Instance();

	bool Initialize();
	void Uninit();

	Texture* GetTexture(std::string pFile);
	void AddTexture(std::string pName, ID3D11ShaderResourceView* pTexture);
private:
	std::vector<Texture*> mTextures;
	std::map<std::string, Texture*> mDicoTextures;

	static TexturesManager* mInstance;
};

#endif
